package com.javastar.common.exception;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 错误编码
 * <p>
 *     由5位数字组成，前2位为模块编码，后3位为业务编码
 * </p>
 *
 * @author zxx
 * @date 2023/7/23
 */
@Getter
@AllArgsConstructor
public enum ErrorCode {
     /* 一般异常 */
    ACCESS_DENIED_ERROR(403, "权限不足，请联系管理员"),

    /* 系统异常 */
    INTERNAL_SERVER_ERROR(500, "很抱歉，我们的系统现在有点忙碌。请稍后再试，我们非常感谢您的理解和耐心"),

    /* 通用异常 */
    INVALID_SYMBOL(601, "请求包含非法字符"),
    ACCESS_FREQUENT(602, "访问过于频繁"),
    TOKEN_EMPTY(603, "请先登陆"),
    TOKEN_INVALID(604, "token无效"),

    /* 业务异常 */
    USERNAME_OR_PASSWORD_ERROR(10101, "用户名或密码错误"),
    USER_ALREADY_FORBIDDEN(10102, "用户已被禁用，请联系管理员")
    ;

    private int code;
    private String msg;
}
